﻿
namespace myproject_ria_iti.Web
{
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.ComponentModel.DataAnnotations;
    using System.Data.Objects.DataClasses;
    using System.Linq;
    using System.ServiceModel.DomainServices.Hosting;
    using System.ServiceModel.DomainServices.Server;


    // The MetadataTypeAttribute identifies EmployeeMetadata as the class
    // that carries additional metadata for the Employee class.
    [MetadataTypeAttribute(typeof(Employee.EmployeeMetadata))]
    public partial class Employee
    {

        // This class allows you to attach custom attributes to properties
        // of the Employee class.
        //
        // For example, the following marks the Xyz property as a
        // required property and specifies the format for valid values:
        //    [Required]
        //    [RegularExpression("[A-Z][A-Za-z0-9]*")]
        //    [StringLength(32)]
        //    public string Xyz { get; set; }
        internal sealed class EmployeeMetadata
        {

            // Metadata classes are not meant to be instantiated.
            private EmployeeMetadata()
            {
            }

            public int ID { get; set; }

            public string Name { get; set; }

            public EntityCollection<Order> Orders { get; set; }

            public string Password { get; set; }

            public string Username { get; set; }
        }
    }

    // The MetadataTypeAttribute identifies ItemMetadata as the class
    // that carries additional metadata for the Item class.
    [MetadataTypeAttribute(typeof(Item.ItemMetadata))]
    public partial class Item
    {

        // This class allows you to attach custom attributes to properties
        // of the Item class.
        //
        // For example, the following marks the Xyz property as a
        // required property and specifies the format for valid values:
        //    [Required]
        //    [RegularExpression("[A-Z][A-Za-z0-9]*")]
        //    [StringLength(32)]
        //    public string Xyz { get; set; }
        internal sealed class ItemMetadata
        {

            // Metadata classes are not meant to be instantiated.
            private ItemMetadata()
            {
            }

            public string Description { get; set; }

            public int ID { get; set; }

            public string Name { get; set; }

            public EntityCollection<Order> Orders { get; set; }

            public Nullable<int> Qnty { get; set; }

            public EntityCollection<Supplier> Suppliers { get; set; }
        }
    }

    // The MetadataTypeAttribute identifies OrderMetadata as the class
    // that carries additional metadata for the Order class.
    [MetadataTypeAttribute(typeof(Order.OrderMetadata))]
    public partial class Order
    {

        // This class allows you to attach custom attributes to properties
        // of the Order class.
        //
        // For example, the following marks the Xyz property as a
        // required property and specifies the format for valid values:
        //    [Required]
        //    [RegularExpression("[A-Z][A-Za-z0-9]*")]
        //    [StringLength(32)]
        //    public string Xyz { get; set; }
        internal sealed class OrderMetadata
        {

            // Metadata classes are not meant to be instantiated.
            private OrderMetadata()
            {
            }

            public Nullable<DateTime> Date { get; set; }

            public Nullable<int> EmpID { get; set; }

            public Employee Employee { get; set; }

            public int ID { get; set; }

            public Item Item { get; set; }

            public Nullable<int> ItemID { get; set; }

            public Nullable<int> Quantity { get; set; }

            public string Reason { get; set; }

            public Nullable<bool> Status { get; set; }

            public Stuff Stuff { get; set; }

            public Nullable<int> StuffID { get; set; }
        }
    }

    // The MetadataTypeAttribute identifies StuffMetadata as the class
    // that carries additional metadata for the Stuff class.
    [MetadataTypeAttribute(typeof(Stuff.StuffMetadata))]
    public partial class Stuff
    {

        // This class allows you to attach custom attributes to properties
        // of the Stuff class.
        //
        // For example, the following marks the Xyz property as a
        // required property and specifies the format for valid values:
        //    [Required]
        //    [RegularExpression("[A-Z][A-Za-z0-9]*")]
        //    [StringLength(32)]
        //    public string Xyz { get; set; }
        internal sealed class StuffMetadata
        {

            // Metadata classes are not meant to be instantiated.
            private StuffMetadata()
            {
            }

            public int ID { get; set; }

            public string Name { get; set; }

            public EntityCollection<Order> Orders { get; set; }

            public string Password { get; set; }

            public string Username { get; set; }
        }
    }

    // The MetadataTypeAttribute identifies SupplierMetadata as the class
    // that carries additional metadata for the Supplier class.
    [MetadataTypeAttribute(typeof(Supplier.SupplierMetadata))]
    public partial class Supplier
    {

        // This class allows you to attach custom attributes to properties
        // of the Supplier class.
        //
        // For example, the following marks the Xyz property as a
        // required property and specifies the format for valid values:
        //    [Required]
        //    [RegularExpression("[A-Z][A-Za-z0-9]*")]
        //    [StringLength(32)]
        //    public string Xyz { get; set; }
        internal sealed class SupplierMetadata
        {

            // Metadata classes are not meant to be instantiated.
            private SupplierMetadata()
            {
            }

            public int ID { get; set; }

            public EntityCollection<Item> Items { get; set; }

            public string Name { get; set; }
        }
    }
}
